In modern Direct Sequence Spread Spectrum (DSSS) communication systems, the spreading, modulation and coding schemes used may vary from one operational mode to another and from one network to another. In addition, certain communication devices may be required to operate across multiple networks that have adopted different and perhaps incompatible communication systems (i.e., multi-mode operation).
As it is desirable to build receivers that may operate in a multitude of different modes and within multiple networks and systems, a flexible and modular method and apparatus for sequence generation is desired that will accommodate different spreading, modulation and coding schemes in an efficient manner (e.g., having significant sharing of hardware and software resources between the various modes of operation and between different systems). In particular, the ability to efficiently generate maximal length (ML) pseduonoise (PN) sequences used in certain communication systems is desirable.
It is also desirable to provide a flexible and efficient interface to the sequence generator so that the number of sequence bits provided per access can be varied to match the requirements of the requestor. Thereby reducing the number of requests per time interval.
DSSS receivers have traditionally been capable of demodulation in only a single or perhaps a few modes of operation and do not typically have the flexibility to accommodate a variety of spreading, modulation and coding schemes. For example, mobile station receivers compliant with the TIA/EIA-IS-95-B standard are required to generate only a single set of modified ML sequences for de-spreading purposes.
As is well known in the art, ML sequences are traditionally generated with PN generators that make use of Linear Feedback Shift Registers (LFSRs). An LFSR has a shift register of N stages and intervening exclusive-OR gates for programming a specific PN sequence. A subset of the PN sequences generated by an N-stage LFSR are characterized as ML PN sequences, and are of length 2N−1.
A need exists in the art for a method and apparatus that can be easily adapted to any random length sequence and any random number of bits provided per access. It should also preferably provide the additional benefit of being capable of producing a new access on every clock cycle, thus maximizing the efficiency of the bit sequence requesting process.